package com.itservice.uzalarm;

import java.util.Random;

import android.util.Log;

public class MathProc
{
	private int[] Que = null;			// 問題枠
	private int q_num = 0;				// 問題数
	private int q_max = 0;				// 数値最大数
	
	//コンストラクタ
	MathProc(int num, int max)
	{
		//最大値と問題数を保管
		q_num = num;
		q_max = max;

		Que = new int[q_num];

		//問題の生成
		newMathData();
	}
	
	//新規作成ルーチン
	public boolean newMathData()
	{
		// 乱数を生成
        Random rand = new Random();
        
        // 問題の乱数生成
        for(int i=0; i<q_num; i++)
		{
			Que[i] = rand.nextInt(q_max);
	    	Log.v("Uzalarm","newMathData:Q_Row[" + i +"]=" + Que[i]);
		}
        
		return true;
	}

	//問題取得関数
	public int getMath_Q(int num)
	{
		Log.v("Uzalarm","Que[" + num +"]");
		return(Que[num]);
	}

	//結果確認ルーチン
	public boolean answerFit(int ans)
	{
		int Addition = 0;

		Log.v("Uzalarm","Addition:" + Addition + " ans:" + ans);
		for(int i=0; i<q_num; i++){
			//和を計算
			Addition += Que[i];
			Log.v("Uzalarm", i + ":Addition:" + Addition + "Que:" + Que[i]);
		}

		// 合否を連絡します。
		if(Addition != ans)
		{
			Log.v("Uzalarm","FALSE!!");
			return false;
		}
		else{
			Log.v("Uzalarm","TRUE!!");
			return true;
		}
	}
		
}